「"」ダブルクォートの文字列を「'」シングルクォートに変換するNipp
#single_quote #Nipp #変換
やりたいこと
"I'm John Smith"のようなダブルクォートの文字列表現をシングルクォートな文字列に変換したい時に使う。
例えばBashなどダブルクォートな文字列だと意味が変わる場面で使える。
Nipp
例
code:入力
"I'm John Smith"
code:出力
'I\'m John Smith'
おまけ
以下だと、ダブルクォートの文字列リテラルではなく、テキスト自体を入れてシングルクォートの文字列リテラルが欲しい時に使える。
テキストを入れてシングルクォートの文字列リテラルを取得するためのNipp
ESLintを内部で使っている
技術的にはESLintでクォートをfixするときのアルゴリズムを流用している。多くの場面で利用されていると思うので情報が欠如したりせず安心して使えると思う。
https://github.com/eslint/eslint/blob/d55490fa73ff69416de375e4c1cd67b6edba531c/lib/rules/quotes.js#L50-L69
ダブルクォートの文字列は文字列sに対してJavaScriptの場合はJSON.stringify(str)するなどすれば
比較的容易に手に入る。ただし、シングルクォートの文字列は言語標準の関数などでは手に入らなかったので度々手軽に変換する方法が欲しくなっていた。